import java.util.Scanner;

public class Test {

    //8.在同一个类中定义多个方法：要求不仅可以求2个整数的最大值，还可以求3个小数的最大值？
    public static int Max1(int a,int b){
        int c = 0;
        if(a > b){
            c = a;
        }else{
            c = b;
        }
        return c;
    }
    public static double Max1(double a,double b, double c){
        double d = 0;
        if(a > b && a > c){
            d = a;
        }else if(b > a && b > c){
            d = b;
        }else {
            d = c;
        }
        return d;
    }
    public static void main8(String[] args) {
        int ret1 = Max1(3,4);
        double ret2 = Max1(1.1,4.4,5.5);

        System.out.println(ret1);
        System.out.println(ret2);
    }

    //7.在同一个类中,分别定义求两个整数的方法 和 三个小数之和的方法。 并执行代码，求出结果
    public static int sum(int a,int b){
        return a + b;
    }
    public static double sum(double a,double b,double c){
        return a + b + c;
    }
    public static void main7(String[] args) {
        int ret1 = sum(1,2);
        double ret2 = sum(1.1,2.2,3.3);
        System.out.println(ret1);
        System.out.println(ret2);
    }

    //6.求斐波那契数列的第n项。(迭代实现)
    public static int fib(int n){
        int a = 1;
        int b = 1;
        int c = 1;
        while( n > 2){
            c = a + b;
            a = b;
            b = c;
            n--;
        }
        return c;
    }
    public static void main6(String[] args) {

        Scanner scan =new Scanner(System.in);
        int n = scan.nextInt();
        int ret = fib(n);
        System.out.println(ret);
    }
    //5.创建方法求两个数的最大值max2，随后再写一个求3个数的最大值的函数max3。
    //要求：在max3这个函数中，调用max2函数，来实现3个数的最大值计算
    public static int max2(int a,int b) {
        return a > b ? a:b;
    }

    public static int max3(int a,int b,int c) {
        int max = max2(a,b);//调用max2
        return max > c ? max : c;
    }
    public static void main(String[] args) {
        System.out.println(max3(2, 5, 1));
    }

   // 4.输出n*n的乘法口诀表，n由用户输入。
   public static void main4(String[] args) {
       Scanner scan = new Scanner(System.in);
       int n = scan.nextInt();
       for (int i = 1; i <= n; i++) {
           for (int j = 1; j <= i; j++) {
               System.out.print(i + "*" + j +"=" + (i * j) + " ");
           }
           System.out.println( );
       }
   }

    //3.编写代码模拟三次密码输入的场景。 最多能输入三次密码，密码正确，提示“登录成功”,
    // 密码错误， 可以重新输 入，最多输入三次。三次均错，则提示退出程序
    public static void main3(String[] args) {
            Scanner scanner = new Scanner(System.in);
            int count = 3;
            while (count != 0) {
                System.out.println("请输入你的密码：");
                String password = scanner.nextLine();

                //if(password == "123") { 这个判断相等是错误的，具体原因后续String章节进行讲解

                if(password.equals("123")) {//string方法
                    System.out.println("登录成功！");
                    break;
                }else {
                    count--;
                    System.out.println("你还有"+count+" 次机会！");
                }
            }
        }
        /*Scanner scan = new Scanner(System.in);
        for (int i = 3; i > 0; i--) {
            System.out.println("请输入密码：");
            int num = scan.nextInt();
            if (num == 123456) {
                System.out.println("登录成功！");
                break;
            } else {
                System.out.println("输入错误！还有" + (i - 1) + "次机会");
            }
            System.out.println("登陆失败！");
        }*/



    //2.，如：123的每一位是3，2，1
    public static  void fun(int n){
        if (n > 9){
            fun(n / 10);
        }
        System.out.println(n % 10);
    }
    public static void main2(String[] args) {
        Scanner scan = new Scanner(System.in);
        int n = scan.nextInt();
        fun(n);
    }

    //1.计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值 。
    public static void main1(String[] args) {
            double sum = 0;
            int flg = 1;
            for (int i = 1; i <= 100; i++) {
                sum += 1.0/i * flg;
                flg = -flg;
            }
            System.out.println(sum);
        }
    /*double sum1 = 0;
    double sum2 = 0;
    double sum3 = 0;
        for (double i = 1; i < 49; i+= 2) {
            sum1 += (1 / i);
        }
        for (double j = 2; j < 50 ; j+= 2) {
            sum2 += (1 / j);
        }
        sum3 = sum1 - sum2;
        System.out.println(sum3);
    }*/
}
